Efficiency implications of open source commonality and reuse
نویسندگان
چکیده
This paper analyzes the reuse choices made by open source developers and relates them to cost efficiency. We make a distinction between the commonality among applications and the actual reuse of code. The former represents the similarity between the requirements of different applications and, consequently, the functionalities that they provide. The latter represents the actual reuse of code. No application can be maintained for ever. A fundamental reason for the need for periodical replacement of code is the exponential growth of costs with the number of maintenance interventions. Intuitively, this is due to the increasing complexity of software that grows in both size and coupling among different modules. The paper measures commonality, reuse and development costs of 26 open-source projects for a total of 171 application versions. Results show that reuse choices in open-source contexts are not cost efficient. Developers tend to reuse code from the most recent version of applications, even if their requirements are closer to previous versions. Furthermore, the latest version of an application is always the one that has incurred the highest number of maintenance interventions. Accordingly, the development cost per new line of code is found to grow with reuse.
منابع مشابه
Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability
One of the goals of the Motorola/FAU “One Pass to Production” (OPP) project is to drastically shorten the software development cycle. This research supports this goal through the reuse of design artifacts by software product lines. In particular, we propose to develop a method for identifying commonality and variability in core design assets (as represented by UML diagrams).
متن کاملLifecycle Management of Open-Source Software in the Public Sector A Model for Community-Based Application Evolution
Similarities in public sector organizations allow the reuse of SW products using open-source (OS) like characteristics. This enables cost savings as organizations can reuse and tailor SW products developed by other organizations free of charge. However, without coordination SW products will evolve in an uncontrolled manner. This article argues the importance of application lifecycle management ...
متن کاملCombining Case Based Reasoning and Commonality Analysis for Software Requirements Reuse
Requirements reuse may significantly reduce life cycle costs by improving the quality of requirements specifications, mitigating risks, and facilitating design, code, and test reuse. A novel process is presented describing how the combination of case based reasoning (CBR) techniques and the commonality analysis (CA) may be used to provide tool based support for efficient requirements reuse for ...
متن کاملComparison of growth parameters, cortisol and muscle gene expression of rainbow trout reared in an open and water reuse system
Fish farming in recirculating aquaculture systems (RAS) has been expanding in the recent years, but the effects of water reuse are not well known. The aim of the present study was to compare the growth parameters, stress response and muscle stress- and growth- related gene expression of rainbow trout (Oncorhynchus mykiss) in open system (OS) versus water reuse system (WRS). For this purpose, yo...
متن کاملStrategic Interaction and Knowledge Sharing in Open Source Software Communities
This paper argues that open source software (OSS) developers often strategically select to work with other highly resourceful individuals to form a small but better organized network to manage a large but potentially chaotic OSS community. The small network arrangement affords individual developers to engage in a reciprocal interdependent relationship, which not only brings them closer to the c...
متن کامل